1 package activity;
2
3 import java.lang.*;
4 import java.util.*;
5 import javax.swing.*;
6 import java.awt.*;
7 import javax.swing.border.*;
8 import java.awt.
event.*;
9 import attr.*;

10
11 public
class AddEmployeeActivity extends JFrame implements ActionListener {
12     
private JPanel panel;
13     
private ViewEmployeeActivity activity;
14     
private JButton buttonLogout, buttonBack, buttonAdd, buttonEdit, buttonDelete, buttonRandom;
15     
private JLabel title, header, employeeIdLabel, employeeNameLabel, roleLabel, employeePhoneLabel, salaryLabel;
16     
private JComboBox roleCB;
17     
private JTextField employeeIdTF, employeeNameTF, salaryTF, employeePhoneTF1, employeePhoneTF2, passwordTF;
18     
private Random r;
19     
20     
public AddEmployeeActivity(ViewEmployeeActivity prev, Employee employee) {
21         super(
"Add Employee");
22         
23         
this.setSize(Theme.GUI_WIDTH, Theme.GUI_HEIGHT);
24         
this.setResizable(false);
25         
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
26         
this.setLocationRelativeTo(null);
27         
this.activity = prev;
28         r =
new Random();
29         
30         panel =
new JPanel();
31         panel.setLayout(
null);
32         panel.setBackground(Theme.BACKGROUND_PANEL);
33         
34         title =
new JLabel("Add Employee");
35         title.setBounds(
30, 40, 340,75);
36         title.setOpaque(
true);
37         title.setBorder(
new EmptyBorder(0,20,0,0));
38         title.setFont(Theme.FONT_TITLE);
39         title.setForeground(Theme.COLOR_TITLE);
40         panel.
add(title);
41         
42         buttonLogout =
new JButton("Logout");
43         buttonLogout.setBounds(Theme.GUI_WIDTH-
140, 40, Theme.BUTTON_PRIMARY_WIDTH,30);
44         buttonLogout.setFont(Theme.FONT_BUTTON);
45         buttonLogout.setBackground(Color.WHITE);
46         buttonLogout.setForeground(Theme.COLOR_TITLE);
47         buttonLogout.addActionListener(
this);
48         panel.
add(buttonLogout);
49         
50         buttonBack =
new JButton("Back");
51         buttonBack.setBounds(Theme.GUI_WIDTH-
140, 80, Theme.BUTTON_PRIMARY_WIDTH,30);
52         buttonBack.setFont(Theme.FONT_BUTTON);
53         buttonBack.setBackground(Theme.BACKGROUND_BUTTON_PRIMARY);
54         buttonBack.setForeground(Theme.COLOR_BUTTON_PRIMARY);
55         buttonBack.addActionListener(
this);
56         panel.
add(buttonBack);
57         
58         employeeIdLabel =
new JLabel("Employee ID: ");
59         employeeIdLabel.setBounds(
60, 140, 140, 30);
60         employeeIdLabel.setFont(Theme.FONT_REGULAR);
61         panel.
add(employeeIdLabel);
62         
63         employeeIdLabel =
new JLabel("Password: ");
64         employeeIdLabel.setBounds(
60, 190, 140, 30);
65         employeeIdLabel.setFont(Theme.FONT_REGULAR);
66         panel.
add(employeeIdLabel);
67         
68         employeeNameLabel =
new JLabel("Name: ");
69         employeeNameLabel.setBounds(
60, 240, 140, 30);
70         employeeNameLabel.setFont(Theme.FONT_REGULAR);
71         panel.
add(employeeNameLabel);
72         
73         employeePhoneLabel =
new JLabel("Phone No: ");
74         employeePhoneLabel.setBounds(
60, 290, 140, 30);
75         employeePhoneLabel.setFont(Theme.FONT_REGULAR);
76         panel.
add(employeePhoneLabel);
77         
78         roleLabel =
new JLabel("Role: ");
79         roleLabel.setBounds(
60, 340, 340, 30);
80         roleLabel.setFont(Theme.FONT_REGULAR);
81         panel.
add(roleLabel);
82         
83         salaryLabel =
new JLabel("Salary: ");
84         salaryLabel.setBounds(
60, 390, 140, 30);
85         salaryLabel.setFont(Theme.FONT_REGULAR);
86         panel.
add(salaryLabel);
87         
88         employeeIdTF =
new JTextField();
89         employeeIdTF.setBounds(
180, 140, 220, 30);
90         employeeIdTF.setFont(Theme.FONT_INPUT);
91         panel.
add(employeeIdTF);
92         
93         passwordTF =
new JTextField(""+(r.nextInt(89999999)+10000000));
94         passwordTF.setBounds(
180, 190, 220, 30);
95         passwordTF.setFont(Theme.FONT_INPUT);
96         passwordTF.setEnabled(
false);
97         passwordTF.setDisabledTextColor(Color.BLACK);
98         panel.
add(passwordTF);
99         
100         buttonRandom =
new JButton("Generate");
101         buttonRandom.setBounds(
400, 190, Theme.BUTTON_PRIMARY_WIDTH,30);
102         buttonRandom.setFont(Theme.FONT_BUTTON);
103         buttonRandom.setBackground(Theme.BACKGROUND_BUTTON_PRIMARY);
104         buttonRandom.setForeground(Theme.COLOR_BUTTON_PRIMARY);
105         buttonRandom.addActionListener(
this);
106         panel.
add(buttonRandom);
107         
108         employeeNameTF =
new JTextField();
109         employeeNameTF.setBounds(
180, 240, 220, 30);
110         employeeNameTF.setFont(Theme.FONT_INPUT);
111         panel.
add(employeeNameTF);
112         
113         employeePhoneTF1 =
new JTextField("+880");
114         employeePhoneTF1.setBounds(
180, 290, 40, 30);
115         employeePhoneTF1.setEnabled(
false);
116         employeePhoneTF1.setFont(Theme.FONT_INPUT);
117         panel.
add(employeePhoneTF1);
118     
119         employeePhoneTF2 =
new JTextField();
120         employeePhoneTF2.setBounds(
220, 290, 180, 30);
121         employeePhoneTF2.setFont(Theme.FONT_INPUT);
122         panel.
add(employeePhoneTF2);
123         
124         roleCB =
new JComboBox(Employee.roles);
125         roleCB.setBounds(
180, 340, 160, 30);
126         roleCB.setFont(Theme.FONT_INPUT);
127         panel.
add(roleCB);
128         
129         salaryTF =
new JTextField();
130         salaryTF.setBounds(
180, 390, 220, 30);
131         salaryTF.setFont(Theme.FONT_INPUT);
132         panel.
add(salaryTF);
133         
134         buttonAdd =
new JButton("Add");
135         buttonAdd.setBounds(
60, 440, Theme.BUTTON_PRIMARY_WIDTH,30);
136         buttonAdd.setFont(Theme.FONT_BUTTON);
137         buttonAdd.setBackground(Theme.BACKGROUND_BUTTON_PRIMARY);
138         buttonAdd.setForeground(Theme.COLOR_BUTTON_PRIMARY);
139         buttonAdd.addActionListener(
this);
140         panel.
add(buttonAdd);
141         
142         header =
new JLabel();
143         header.setBackground(Theme.BACKGROUND_HEADER);
144         header.setOpaque(
true);
145         header.setBounds(
0, 0, Theme.GUI_WIDTH, 75);
146         panel.
add(header);
147         
148         
this.add(panel);
149     }
150
151     
public void actionPerformed(ActionEvent ae) {
152         
if (ae.getSource().equals(buttonLogout)) {
153             
this.setVisible(false);
154             
new LoginActivity().setVisible(true);
155         }
156         
else if (ae.getSource().equals(buttonBack)) {
157             
this.setVisible(false);
158             activity.setVisible(
true);
159         }
160         
else if (ae.getSource().equals(buttonAdd)) {
161             
try {
162                 Employee e =
new Employee(employeeIdTF.getText().trim());
163                 e.setPassword(passwordTF.getText().trim());
164                 e.setEmployeeName(employeeNameTF.getText().trim());
165                 e.setPhoneNumber(Integer.parseInt(employeePhoneTF2.getText()));
166                 e.setSalary(Double.parseDouble(salaryTF.getText()));
167                 e.setRole(roleCB.getSelectedItem().toString());
168                 e.createEmployee();
169                 employeeIdTF.setText(
"");
170                 employeeNameTF.setText(
"");
171                 employeePhoneTF2.setText(
"");
172                 salaryTF.setText(
"");
173                 roleCB.setSelectedIndex(
0);
174                 
if (!activity.keywordTF.getText().trim().isEmpty())
175                     activity.table.setModel(Employee.searchEmployee(activity.keywordTF.getText().trim(), activity.byWhatCB.getSelectedItem().toString()));
176                 
else
177                     activity.table.setModel(Employee.searchEmployee(
"", "By Name"));
178             }
179             
catch (NumberFormatException e) {
180                 JOptionPane.showMessageDialog(
this,"Enter phone no correctly!");
181             }
182             
catch (IllegalArgumentException e) {
183                 JOptionPane.showMessageDialog(
this,e.getMessage());
184             }
185         }
186         
else if (ae.getSource().equals(buttonRandom)) {
187             passwordTF.setText(
""+(r.nextInt(89999999)+10000000));
188         }
189         
else {}
190     }
191 }


Gõ tìm kiếm nhanh...